Graphics Adapters

C H A P T E R   1 5

Graphics Adapters

This chapter presents the requirements and recommendations for graphics adapters, display monitors, and video playback and capture devices under the Microsoft Windows family of operating systems.

Requirements for MPEG1 and DVD playback, video input and capture devices, and display monitors are defined in the "Video Components" chapter in Part 4 of guide.

Overview for Graphics Adapters

This section presents the key design issues for graphics adapters under Microsoft Windows. Graphics-related issues for PC 97 are based on the needs of the system to provide fast, high-quality graphics rendering. New games applications that require 3D graphics or advanced graphics applications such as CAD require improved support in the graphics hardware.

Key PC 97 issues for graphics adapters in general:

Key issues for Workstation PC 97:

Key issues for Entertainment PC 97:

DirectDraw is the Windows system component that allows direct manipulation of video display memory, hardware block transfers (bit-blters), hardware overlays, and page flipping. DirectDraw performs the common functions required by both hardware and software emulation implementations, while maintaining compatibility with the Windows GDI. This provides compatibility with existing applications and device drivers created for Windows. The user will experience the highest quality performance when using new hardware that provides built-in DirectDraw acceleration and rendering capabilities.

Direct3D is a DirectX technology that provides access to hardware acceleration for 3D rendering. Some basic and general 3-D capabilities will become pervasive in entertainment software by the end of 1997 and should be provided in all graphic cards to improve the performance of 3-D games, business graphics, Internet 3D file (VRML) viewing, and professional 3-D applications.

Microsoft ActiveMovie provides access to hardware acceleration for MPEG1 playback, which will become increasingly important to provide high-performance video in the context of games, Internet content viewing, computer-based training, and desktop video conferencing. Some PC 97 hardware requirements ensure support for video playback on all PCs running Windows operating systems.

OpenGL technology is an open industry standard 3-D graphics API used to support 3D graphics capabilities. This is primarily for high-end or professional 3D applications such as engineering, modeling, simulation, visualization, animation, 3-D clip art and Internet content (VRML) viewing. OpenGL has some higher requirements for visual rendering precision than general Direct3D devices, but it can also take advantage of appropriate Direct3D hardware. There is also a class of high-end, 3-D graphics hardware specifically targeted at the OpenGL developer which requires an OpenGL client driver rather than or in addition to a Direct3D driver.

System Requirements for Graphics Adapters

This section summarizes the requirements for the graphics adapter for PC 97 system designs.

1. Primary graphics adaptor does not use legacy bus

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

For all components in PC 97, buses such as PCI, USB, and IEEE 1394 are strongly recommend over any legacy buses for all devices. For the primary graphics adapter, it is required that the video bus is not ISA. A higher-performance solution is required to optimize performance of the packed-pixel frame buffer. Possible implementations that meet this requirement can include PCI v. 2.1 for all system types or the Intel Accelerated Graphics Port (AGP) interface for x86-based systems.

2. Support for NTSC or PAL TV output, if no large-screen monitor

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

Support for TV output is required if an Entertainment PC 97 system does not include a large-screen entertainment monitor. The ability to connect and use a standard NTSC/PAL television as a large display surface is key to the ability to deliver realistic TV, movie, and game viewing experiences. For mobile PCs, TV output capabilities can be used to enable on-screen presentation graphics in the conference room.

If NTSC is supported, the NTSC system must support 640x480 at 60 Hz. If PAL is supported, the PAL system must support 640x480 and 800x600 at 50 Hz. For details about the related requirements, see "TV Output for PC 97" later in this chapter. This recommendation will not become a requirement for Basic PC systems in the future.

3. Primary graphics adapter works normally with default VGA mode driver

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

The default VGA driver is required for installing the operating system, and the primary adapter must support 4-bit planar VGA mode as described in the Windows 95 DDK. Secondary adapters in multiple monitor configuration do not need to provide VGA compatibility.

4. Support for multiple adapters and multiple monitors

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

This support consists of Plug and Play-related configuration and resource requirements that ensure automatic support for using more than one graphics adapter and support for simultaneous display on two or more monitors. For details, see "Multiple Adapter and Multiple Monitor Support for PC 97" later in this chapter.

Graphics Adapter Basic Features

This section defines requirements for basic features for graphics adapters.

5. General device requirements

Required

These include the standard requirements for a Plug and Play device identifier, automated software-only settings for device configuration, standard device drivers and Windows-based installation, and icons for external connectors. For more information, see the "Basic PC 97" chapter of this guide.

6. PC 97 minimum resolution

Basic PC 97 Workstation PC 97 Entertainment PC 97
800x600x16 bpp
640x480x8 bpp, small LCD
1024x768x16 bpp 1024x768x16 bpp

A Basic PC 97 system must contain a graphics adapter that permits a color depth of 16 bpp, minimum. These are the minimum resolution requirements:

Display RAM requirements are tied directly to the minimum graphics resolution supported by the adapter. The requirement to support double buffering implies 1.5 MB of display RAM. However, PC 97 requirements do not specify minimum display RAM support; rather, the adapter designer can implement any solutions for supporting the minimum resolution requirements.

Note When the user selects 1024x768 resolution, by default the graphics adapter must use a non-interlaced refresh rate.

7. Graphics operations use relocatable registers only

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

VGA registers must not be used to perform graphics operations such as bit-blting, palette setting, and pointer movement. The registers used for these graphics operations can be either I/O locations or memory-mapped locations, but must be relocatable. Normal operation of the system - except system startup and mode setting- should never require using base VGA registers.

8. VESA specifications for ergonomic timing rates: 75 Hz for 1024x768

Required

Recommended: 85 Hz for 1024x768.

The graphics adapter, at a minimum, must support the ergonomic timings documented in the current version of VESA and Industry Standards and Guidelines for Computer Display Monitor Timing for all resolutions up to 1280x1024 that are supported by the monitor. Higher scan rates are preferable under standards published by VESA.

9. Support one or more pixel orderings for color depth

Required

Graphics adapters that support packed-pixel frame buffers at color depths greater than 8 bpp should support one or more of the pixel orderings for color depth that are supported by the Windows DIB engine. (Color ordering is shown from the most-significant bit (MSB) to the least-significant bit (LSB.)

Format Color ordering

15 bpp 1 undefined, 5 red, 5 green, 5 blue (URRR RRGG GGGB BBBB)
16 bpp 5 red, 6 green, 5 blue (RRR RRGGG GGGB BBBB)
24 bpp 8 red, 8 green, 8 blue (RRRR RRRR GGGG GGGG BBBB BBBB)
32 bpp 8 undefined, 8 red, 8 green, 8 blue (UUUU UUUU RRRR RRRR GGGG GGGG BBBB BBBB)

10. Downloadable RAMDAC entries to support image color matching

Recommended

For graphics adapters that support 24bit or higher displays, downloadable RAM digital-to-analog converter (RAMDAC) entries should be included to perform gamma correction in hardware.

Note This will become a requirement in 1998.

11. Graphics adapter supports DDC 2.0 Level 2 monitor detection

Required

This requirement is based on the Display Data Channel DDC 2.0 specification (DDC2B), which defines the communication channel between the display and host system. The adapter must be able to report to the operating system or its driver whether a VGA or an SVGA monitor is attached. The software can use this information to properly manage output to the various displays and to prevent the disabling of TV output if no monitor is attached.

12. Hardware arithmetic stretching

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required (horizontal) Required (horizontal) Required (horizontal and vertical)

To support accelerated software playback of motion video, all graphics adapters should support scaling and interpolation to any size window, up to full screen, at any video mode. Doubling (pixel replication) is not an acceptable implementation.

Hardware stretching also allows 3D to be rendered to a smaller back buffer (therefore at higher speeds) and scaled up to the front buffer. Although integral stretches are useful, arbitrary stretches are better because they allow dynamic resizing of the back buffer to maintain constant high frame rates.

Note This capability is recommended but not required for mobile PCs.

13. YUV off-screen surfaces for color space conversion

To support accelerated software playback of video, all graphics cards must support off-screen surfaces in either of the two following packed YUV 4:2:2 sampled formats:

The YUV color space and intensity range is defined by the ITU-R BT.601-4 standard (previously called CCIR-601), where U is CB and V is CR.

These formats use less memory while maintaining high quality, and YUV is the native format for many image and video compression standards.

Note This capability is recommended but not required for mobile PCs.

Multiple Adapter and Multiple Monitor Support for PC 97

This section defines the requirements for ensuring system support for multiple adapters and multiple monitors. This required support ensures that if the user adds a second adapter, resources will automatically be available and that the operating system can automatically manage multiple display adapters.

The actual implementation a user might employ could be one of the following:

The support planned for both Windows 95 and Windows NT requires multiple-adapter compatibility in both the graphics adapter and its driver. With this new multiple adapter/multiple monitor support, a single adapter that supports multiple monitors can display independent screen images. This is support beyond the current simultaneous display features for some mobile PCs, which show the same Windows desktop on two displays at the same time.

The operating system support for multiple adapters/multiple monitors requires allowing any secondary graphics adapters to be enabled in VGA mode, thus requiring that VGA for the previous adapter be temporarily disabled.

The support for multiple monitors also assumes that for monitors attached to the same system but showing different images simultaneously, the different displays might have differing X,Y resolution, color depths, and refresh rates plus differing display capabilities.

For technical details about designing for multiple monitor/multiple adapter support, see http://www.microsoft.com/hwdev/devdes/.

14. Plug and Play conflict resolution for multiple monitors/multiple adapters

Required

To ensure Plug and Play for multiple adapter/multiple monitor capabilities, all non - VGA standard display resources (also known as extended resources, such as register sets and so on) must be capable of being dynamically relocated after system boot.

This is an extension of the earlier requirement, "Graphics operations use relocatable registers only," and is an addition to the basic Plug and Play requirements defined later in this chapter.

15. VGA resources can be disabled by software

Required

A means must be provided to allow a driver to disable its adapter from decoding standard VGA addresses. The purpose of this requirement is to ensure the adapter is independent of all other graphics adapters in the system. The adapter must remain fully functional without the VGA addresses. See also the earlier requirement, "Graphics operations use relocatable registers only."

16. Provide alternate mechanization to Int 10 for initialization

Recommendation

The purpose of this requirement is to avoid problems that occur with multiple ROM mappings at C0000h.

Microsoft is investigating providing an alternate standard for ROM format. Based on such a standard, data tables from the ROM could be used by the driver to program the graphics adapter. A generic mode setting routine could be provided by the operating system to initialize the graphics adapter.

Hardware Acceleration for 2-D Graphics

This section summarizes guidelines related to 2-D DirectDraw graphics features that can be implemented as hardware acceleration features.

Hardware acceleration for 2D graphics is required for Entertainment PC 97 systems, with individual items in this section marked as required or recommended for that system type.

In general, hardware acceleration for 2D graphics is not required for Basic PC 97 or Workstation PC 97 systems. The individual items in this section are required or recommended only if a hardware manufacturer chooses to implement hardware acceleration in a graphics adapter. For Workstation PC 97, it is recommended that the PC system manufacturer select graphics adapters that provide hardware acceleration when designing PC systems to support high-quality graphics for use with professional graphics applications.

The following items for DirectDraw acceleration are presented in this section in order of importance.

17. Direct frame buffer access

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

It must be possible for applications to perform direct frame buffer accesses at any time, even while asynchronous accelerator operations are being executed. Without this capability, drivers cannot support DirectDraw or Direct3D on Windows NT, and operations on Windows 95 will not be fully robust.

18. Linear-mapped low resolution modes

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

Decreasing the size of the frame buffer decreases the average polygon size and increases the frame rate for a given scene. Most games currently run in 320x200x8 bpp mode. Providing additional modes provides support for software rendering games and software Direct3D.

If you implement low-resolution support in the hardware, the following are the required low-resolution modes:

320x200x16 bpp 320x240x16 bpp 640x400x16 bpp
320x200x8 bpp 320x240x8 bpp 640x400x8 bpp

The following low-resolution modes are recommended:

400x300x16 bpp 512x384x16 bpp
400x300x8 bpp 512x384x8 bpp

Note In Windows 95, low-resolution capabilities must not be defined in the registry so that they do not appear in the Display Control Panel. In Windows NT, the Control Panel automatically filters out these modes.

19. Transparent blter

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

A transparent blter can perform a blt with a source key transparent color. This assumes that the blter is asynchronous with the host processor.

20. Perform double-buffer swaps with no tearing

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Required Required

If the frame buffer is large enough to support double-buffering, the hardware should support a mechanism for swapping buffers without visible artifacts such as "tearing." The mechanism for doing this is at the discretion of the hardware designer, but should support tear-free double-buffering for both full-screen and windowed applications.

21. Current scan line of refresh

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

The ability to read the current scan line supports blting or writing to the screen without tearing. Also, in some contexts such as video playback, this support eliminates the need for a back buffer.

22. Programmable blter stride

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

A programmable blter stride ensures that Windows can use linear memory. Using a fixed stride forces Windows to use rectangular memory management, with all the related inefficiencies. It must be possible to specify different strides for the source and the destination on blts.

23. VGA destination color keying for video rectangle

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

The compositing of the video plane under the VGA plane with the VGA pixels must be independently controllable for each VGA pixel. This VGA destination color keying must function in all video modes using either a specific color/color range (on 4, 8, 16, and 24bit SVGA modes) or an additional alpha blending bits in the color plane bits (on 15 and 32bit SVGA modes).

This color keying of the VGA will allow certain VGA pixels to be replaced by the underlying video pixels on a pixel-by-pixel basis. This feature enables VGA video overlays, controls, Windows popups, dialogs, and so on. It must also work at the same time as any vertical/horizontal scaling that is active for the underlying video.

Hardware Acceleration for 3-D Graphics

This section summarizes guidelines related to Microsoft Direct3D technologies that can be implemented as hardware acceleration features. Supporting the items in this section can result in improved performance and better memory use.

Hardware acceleration for 3D graphics is required for Entertainment PC 97 systems, with individual items in this section marked as required or recommended for that system type.

In general, hardware acceleration for 3D graphics is not required for Basic PC 97 or Workstation PC 97 systems. The individual items in this section are required or recommended only if a hardware manufacturer chooses to implement hardware acceleration in a graphics adapter. It is recommended that the PC system manufacturer select graphics adapters that provide 3D hardware acceleration when designing PC systems to support high-quality graphics for use with professional graphics applications or for "multimedia" systems.

Note For specific features for Workstation PC 97, this section assumes a workstation system designed to support a graphics-intensive use such as CAD. These requirements are not general requirements for Workstation PC 97.

There are two broad classes of hardware suitable for OpenGL-based 3-D applications. At the low end, OpenGL can drive Direct3D devices, so any Direct3D device is in principle compatible with OpenGL. However, OpenGL has conformance requirements for rasterization, including specific requirements for subpixel precision and Z-buffer calculations, which are more precise than the Direct3D software rendering library.

Direct3D hardware designed to support OpenGL-based applications must be capable of meeting the OpenGL rasterization rules, and Direct3D drivers must report through the appropriate caps bit, whether or not the hardware actually conforms to OpenGL requirements.

There is also a class of graphics adapters designed specifically for OpenGL. Although these cards can also expose their 3D capabilities through a Direct3D driver, they generally expose their capabilities to OpenGL through a client driver.

Information about OpenGL rasterization requirements and conformance rules is available from the OpenGL Architectural Review Board. Additional information is available on the Usenet newsgroup for OpenGL: comp.graphics.opengl.

Hardware that implements 32bpp display modes (for example, display hardware for high-end engineering workstations) should implement RGB mode rasterization. OpenGL supports a color index mode, but most OpenGL applications require RGB mode rasterization.

24. Basic RGB rasterization, if RGB mode is supported in hardware

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Required Required

In RGB mode under Direct3D, shading across a surface is accomplished by independently interpolating in all color components. If 3-D hardware supports RGB mode rasterization, it must support the following features:

25. Recommended RGB rasterization features

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

If 3-D hardware supports RGB mode rasterization, the following additional features in hardware are also recommended:

26. Destination alpha blending for transparency effects

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

For destination alpha blending, transparent primitives are blended with the background behind them, updating not only the frame buffer but also a cumulative transparency for the background that can affect the rendering of subsequent primitives. This method is capable of the greatest visual accuracy but is computationally expensive, requires the hardware to support a dedicated alpha buffer, and is recommended only for high-end workstations that must support complex 3-D image compositing and volume-rendering applications.

27. Source alpha blending for transparency effects

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

For source alpha blending, transparent primitives are blended with the background, but the background transparency is not updated. This method provides good visual accuracy if there are not too many overlapping transparent objects.

28. Stippled alpha blending (screen door transparency)

Basic PC 97 Workstation PC 97 Entertainment PC 97
Optional Optional Optional

Instead of either a source alpha blend or a full destination alpha blend, Direct3D can be switched to a mode where it uses stipple patterns keyed off the interpolated alpha value. This saves destination reads and multiplies, and does not require sorting of primitives. This mode is simple to implement, but is not visually acceptable for engineering and other professional 3D uses.

29. Double buffer support for workstation-quality 3D graphics

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Required Recommended

If hardware designed for the workstation market supports 3-D acceleration, it must also provide two 16-bpp or 24-bpp frame buffers.

Workstation applications and many games and consumer titles require smooth animation. In many cases, this requires the display hardware to support two pixel buffers, although some applications and hardware designed for the entertainment market can provide smooth animation using other techniques.

30. Hidden surface removal

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Required Recommended

Typically, 3-D applications perform hidden surface elimination through the use of Z-buffers, although many game applications use specialized geometry and algorithms instead. If hardware targeting the workstation market supports 3-D acceleration, it must also provide at least a 16-bit Z-buffer.

31. Palettized textures

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

Support for palettized textures allows for much less texture memory. Particularly useful are 4-bit and 8-bit palettized textures, each with their own palettes.

32. Support for improved parallelism between host and rasterizer

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Required Required

Hardware that provides 3-D acceleration should take advantage of techniques available to improve parallelism between the host controller and the rasterizer, which can include use of DMA support, FIFOs, or other methods. The choice of technique is up to the manufacturer, but it should provide for good buffering of performance differences between host and rasterizer in cases where there is a mix of large and small triangles.

33. Triangle setup

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

For much 3-D hardware, passing a mass of data over the bus for each triangle creates a bottleneck. Advanced hardware can take a higher-level and more compact description of the triangle and compute this setup data on the fly. The setup is faster, and the bus transfer is also simpler. Adding triangle setup capabilities for workstation and entertainment systems is strongly recommended.

Any 3-D hardware intended to support professional 3-D markets that implements triangle setup must include subpixel correction.

TV Output for PC 97

This section summarizes the key design issues and requirements for TV output capabilities, which are recommended for all system types and required for any Entertainment PC 97 PC system that does not include a large-screen entertainment monitor.

The requirements in this section apply only if the capability is present on a PC system or on a graphics adapter that supports TV output capabilities. Some TV output capabilities listed in this section are required only for Entertainment PC 97.

The required support allows an NTSC/PAL TV to be used as a primary or secondary display surface for the Windows operating system and Windows-based applications. Such a display surface allows more realistic game, video, and multimedia experiences for users who want to use the large-screen TV they might already own.

If TV output capabilities are provided in a PC system, support is required for either NTSC or PAL TV output standards:

For information about world TV standards, see:

http://www.bbc.co.uk/aberdeen/eng_info/world_tv.htm

34. Support both NTSC and PAL output

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Recommended

Either NTSC or PAL standards must be supported if TV output capabilities are included in the adapter or system design; however, it is recommended to support both standards. If NTSC is supported, the NTSC system must support 640x400 and 640x480 at 60 Hz. If PAL is supported, the PAL system must support 640x480 and 800x600 at 50 Hz. Whether either or both output standards are supported, software must have the capability to enable and disable TV and VGA output independently.

Note For NTSC, 60-Hz mode described in this section is actually 59.940 Hz.

35. Default boot mode supports appropriate locale

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

TV output must work automatically as the primary display if a VGA monitor is not attached. The graphics adapter must default to modes compatible with TV output. Adapters manufactured for NTSC countries should default to 60Hz modes; those manufactured for PAL countries should default to 50Hz modes.

36. Underscan scaling

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

The TV-output adapter must be able to correct horizontal and vertical overscan using hardware scaling. This allows 640x480 resolution modes to fit onto NTSC displays and 800x600 modes to fit onto PAL displays. Driver software must have the capability to enable and disable scaling and also adjust scaling for compatibility with a variety of TVs. When TVs age, overscan reduces, so less scaling is required. Also, overscan can be enabled by software when the PC is playing full-screen video.

37. Flicker filter

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

The TV-output adapter must use multi-line (three-tap minimum) hardware filtering techniques for flicker reduction. Enable, disable, and adjust capabilities for the flicker filter must be able to be controlled by software. Also, overscan can be enabled by software when the PC is playing full-screen video.

Note Flicker filter is not required in overscan mode.

38. Proper termination

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

Proper termination is required so that optimal picture quality from any connector does not require displays to be attached to other connectors. For example, a VGA monitor must not be required for the S-Video output to appear properly.

39. Support RCA-style composite video and S-Video connectors

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

S-Video dramatically improves the picture quality of the NTSC/PAL scan converter, compared to composite video. This standard is designed to reduce crosstalk between chrominance and luminance signals and to increase the luminance bandwidth capability of the TV. For a description of this standard, see:

http://www.bbc.co.uk/aberdeen/eng_info/s-video.htm

Notice that most European TV sets now have two SCART sockets (also called Peritel); one allows stereo audio and composite video input/output switchable to RGB inputs; the other supports switching from composite input to S-Video input. The first can be used to connect a satellite receiver for RGB capability; the second can be used to connect a VCR using S-Video for TV output. A camcorder usually has connections for composite video, stereo audio, and S-Video. For a description of the SCART standard, see:

http://www.bbc.co.uk/aberdeen/eng_info/scart.htm

40. Support both VGA and TV output

Basic PC 97 Workstation PC 97 Entertainment PC 97
Required Required Required

In addition to TV output, the system must also support VGA output to ensure that users with existing larger-screen VGA monitors can use this output capability.

Note Simultaneous output to VGA monitor and TV is recommended, but not required.

41. Positioning

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

Software must be able to program the TV-output hardware to position the TV image in increments of four pixels horizontally and four scan lines vertically.

42. Software detection of TV connection

Basic PC 97 Workstation PC 97 Entertainment PC 97
Recommended Recommended Required

Software must be able to read the TV output hardware to detect whether a TV is attached to either S-Video or composite output connectors. (Detection of a VGA monitor is achieved using the separate DDC requirement for graphics adapters and monitors.) This is required to allow the operating system and graphics drivers to support display output correctly during the startup sequence (for example, determining what resolution and refresh rate to use), and for applications to adjust their user interfaces appropriately to the screen capabilities.

PC 97 Design for Graphics Adapters

This section summarizes requirements related to the design initiatives for PC 97 defined in Part 1 of this guide.

Plug and Play and Bus Design for Graphics Adapters

The items in this section summarize requirements for Plug and Play and other resource- and bus-related capabilities. The specifications in this section are required for all PC 97 systems.

Note See also the requirement "Graphics operations must use relocatable registers only" earlier in the "Graphics Adapter Basic Features" section.

43. Plug and Play device identifier

Required

The device must have a unique device ID using the format required for its bus. A PCI device must comply with PCI 2.1 requirements and also provide a Subsystem ID and Subsystem Vendor ID, as defined in the "PCI" chapter in Part 3 of this guide.

44. VGA compatibility, and extended register

Required

Changing or adding a graphics adapter to the system must not require changing jumpers or switches on either the card or the system board. The system must have a method for automatically relocating the resources used by a graphics adapter on the system board in the case that a graphics adapter expansion card is added to the system. In the event of irreconcilable conflict with other devices on the system, the system must be able to disable one of the adapter in order to prevent the system from stalling.

The system must support the VGA graphics standard for application compatibility and for the Windows clean-boot error-recovery process. If a VGA BIOS exists on the graphics adapter, it must be able to configure its base address to C0000h and one (minimum) alternate address to prevent conflicts.

Extended resources are additional I/O ports, direct-access frame buffers, or data transfer areas on a graphics adapter that use more resources than does standard VGA. The Windows configuration manager must be able to map the resources to avoid conflicts with other system devices. At least one alternate configuration must be provided for each non - VGA display resource in the event of conflict during initial program load (IPL) boot.

The software drivers and VGA BIOS (if used) must be able to use alternate configuration register addresses. The system must be able to disable or relocate VGA resources from C0000h dynamically.

For additional related requirements for multiple monitor support, see the section "Multiple Adapter and Multiple Monitor Support for PC 97" earlier in this chapter.

45. PCI base address registers populated correctly for PCI graphics device

Required

The display driver for Windows 95 queries the actual device to find its register locations and so on. The PCI Base Address Registers must be populated correctly for this information to be correct in the registry.

The use of an IRQ for a video device is not recommended unless it is being physically used by the adapter - the Interrupt Pin Register (3Dh) should be zero (0). Do not request the IRQ for compatibility with the original VGA standard; request the IRQ only if it will be used on the adapter. If you want to allow this IRQ, a jumper or soft-setting utility could be used. If the BIOS configures an IRQ for the device, then Windows 95 will report this IRQ in the registry. Alternatively, the IRQ could be requested by using the INF for the device.

46. Linear packed pixel frame buffer, relocatable above 16 MB

Required

Note For DirectDraw, the graphic adapter's chip set must support linear access to the frame buffer by the host.

Windows 95 is optimized for a graphics adapter with a packed-pixel frame buffer at all supported resolutions. Memory-mapped packed-pixel frame buffers also provide a fast and simple interface between Windows 95 and the graphics adapter. The Windows 95 DIB engine provides a very fast display by writing directly to packed-pixel frame buffers, and this architecture requires that the hardware developer write only a small, simple device driver.

For optimized support with Windows 95, a linear packed-pixel frame buffer is required over a bank-switched frame buffer. Use 32-bit addresses to allow the linear frame buffer to be placed above the 16-MB ISA boundary, which enables a system to be populated with large amounts of RAM.

If memory or other resources conflict with the frame buffer being mapped into a linear address space, the page frame address can be used with minimal degradation of performance.

47. Option ROM supports Display Data Channel DDC 2.0, Level B

Required

This requirement applies for x86-based systems. The option ROM for the graphics adapter must meet current DDC host requirements documented in the Display Data Channel DDC 2.0 specification published by VESA. This standard defines the functions that support the data channel between the graphics adapter and a DDC-compliant monitor.

48. DO not use IRQ 2(9)

Required

Some VGA-compatible adapters support ISA IRQ 2 (PIC interrupt 9) as the hardware interrupt for vertical refresh. This interrupt, which can be used to synchronize updates to VGA registers during vertical refresh, exists mainly for compatibility with EGA-style adapters and is used by few modern graphics adapters. Windows 95 does not use it. Therefore, if IRQ 2(9) capability is included on your graphics adapter (unless you use it during the card initialization), it should power up inactive when power is turned on and should not actively drive the bus.

The adapter must also not claim IRQ 2(9) when enumerating device resources. The Windows resource arbitrator assigns devices to all other IRQs before using IRQ 2(9), so it will most likely remain unused. In this context, IRQ 2(9) refers to the IRQ signal logically mapped to IRQ 2 on the ISA bus (for historical reasons). From a hardware designer's point of view, however, IRQ 9 refers to pin 19 of the slave 8259 PIC.

Power Management for Graphics Adapters

This section summarizes the specific power management requirements for graphics adapters.

49. Compliance with "Device Class Power Management Reference Specification"

Required

The "Device Class Power Management Reference Specification" for the display device class provides definitions of the OnNow device power states (D0 - D3) for display and graphics devices. The specification also covers device functionality expected in each power state and the possible Wakeup event definitions for the class, if any. Power states D0 and D3 are required. Other power states are recommended.

50. Support Wakeup Events defined in "Device Class Power Management Reference Specification"

Optional

For PC 97, the ability to cause a Wakeup event as defined in the "Device Class Power Management Reference Specification" for display devices is an optional feature.

51. Adapter complies with VBE/Core 2.0 extensions for power management

Required

The VESA BIOS Extension Standard / Core Functions 2.0 specification defines extensions to VGA ROM BIOS services for power management.

Device Driver and Installation for Graphics Adapters

This section summarizes the requirements for graphics adapters. The specifications in this section are required for all PC 97 systems.

For additional related requirements for multiple monitor support, see the section "Multiple Adapter and Multiple Monitor Support for PC 97" earlier in this chapter.

52. Device driver and installation meet Windows and Windows NT standards

Required

The standard requirements for drivers and installation include the following:

For complete details about standard installation requirements for drivers, see "Basic PC 97" in Part 2 of this guide.

53. Applications provided with device meet Windows standards

Required

Any Windows-based applications provided with the device must meet Microsoft requirements for software compatibility as indicated by the "Designed for Microsoft Windows" logo.

54. Driver support for virtual desktop

Recommended

For Windows 95, this recommendation means that the driver uses the named function export called ValidateDesk and correctly stores desktop size and screen size in the Registry. For information, see the Windows 95 DDK.

For Windows NT 4.0, applications should use the panning fields in the DEVMODE structure to set the virtual desktop size.

55. Driver support for dynamic color bit-depth change

Required

The graphics adapter must operate properly and not fail when asked by the operating system to change the color depth.

References for Graphics Adapters

This section lists some of the publications, services, and tools available to help build hardware that works with Windows operating systems.

Design guidelines for DirectX, multiple monitor/multiple adapter support, and other technologies.

http://www.microsoft.com/hwdev/devdes/

Windows 95 DDK, Windows NT DDK, and DirectX DDK

MSDN Professional membership

Display Data Channel DDC 2.0 (includes VBE/DDC)
VESA BIOS Extension Standard / Core Functions 2.0
VESA and Industry Standards and Guidelines for Computer Display Monitor Timing

Video Electronics Standards Association
2150 North First Street, Suite 440
San Jose, CA 95131-2029
Telephone: (408) 435-0333
Fax: (408) 435-8225
http://www.vesa.org

World TV and S-Video interface standards

http://www.bbc.co.uk/aberdeen/eng_info

Device Class Power Management Reference Specification

http://www.microsoft.com/hwdev/onnow.htm

Checklist for Graphics Adapters

Basic PC 97 Workstation PC 97 Entertainment PC 97


System Requirements for Graphics Adapters
1. Primary graphics adapter does not use legacy bus
Required Required Required
2. Support for NTSC or PAL TV output, if no large-screen monitor
Recommended Recommended Required
3. Primary graphics adapter works normally with default VGA mode driver
Required Required Required
4. Support for multiple adapters and multiple monitors
Required Required Required

Graphics Adapter Basic Features
5. General device requirements
Required
6. PC 97 minimum resolution
800x600x16 bpp 1024x768x16 bpp 1024x768x16 bpp
640x480x8 bpp, small LCD
7. Graphics operations use relocatable registers only
Required Required Required
8. VESA specifications for ergonomic timing rates: 75 Hz for 1024x768
Required
9. Support one or more pixel orderings for color depth
Required
10. Downloadable RAMDAC entries to support image color matching
Recommended
11. Graphics adapter supports DDC 2.0 Level 2 monitor detection
Required
12. Hardware arithmetic stretching
Required (horizontal) Required (horizontal) Required (horizontal and vertical)
13. YUV off-screen surfaces for color space conversion
Required

Multiple Adapter and Multiple Monitor Support for PC 97
14. Plug and Play conflict resolution for multiple monitors/multiple adapters
Required
15. VGA resources can be disabled by software
Required
16. Provide alternate mechanization to Int 10 for initialization
Recommendation

Hardware Acceleration for 2D Graphics
17. Direct frame buffer access
Required Required Required
18. Linear-mapped low resolution modes
Recommended Recommended Required
19. Transparent blter
Recommended Recommended Required
20. Perform double-buffer swaps with no tearing
Recommended Required Required
21. Current scan line of refresh
Recommended Recommended Required
22. Programmable blter stride
Recommended Recommended Recommended
23. VGA destination color keying for video rectangle
Recommended Recommended Required

Hardware Acceleration for 3D Graphics
Recommended Required Required
25. Recommended RGB rasterization features
Recommended Recommended Recommended
26. Destination alpha blending for transparency effects
Recommended Recommended Recommended
27. Source alpha blending for transparency effects
Recommended Recommended Recommended
28. Stippled alpha blending (screen door transparency)
Optional Optional Optional
29. Double buffer support for workstation-quality 3D graphics
Recommended Required Recommended
30. Hidden surface removal
Recommended Required Recommended
31. Palettized textures
Recommended Recommended Recommended
32. Support for improved parallelism between host and rasterizer
Recommended Required Required
33. Triangle setup
Recommended Recommended Recommended

TV Output for PC 97
34. Support both NTSC and PAL output
Recommended Recommended Recommended
35. Default boot mode supports appropriate locale
Recommended Recommended Required
36. Underscan scaling
Recommended Recommended Required
37. Flicker filter
Required Required Required
38. Proper termination
Required Required Required
39. Support RCA-style composite video and S-Video connectors
Recommended Recommended Required
40. Support both VGA and TV output
Required Required Required
41. Positioning
Recommended Recommended Required
42. Software detection of TV connection
Recommended Recommended Required

PC 97 Design for Graphics Adapters
Plug and Play and Bus Design for Gtsphics Adapters
43. Plug and Play device identifier
Required
44. Conflict resolution, VGA compatibility, and extended register
Required
45. PCI base address registers populated correctly for PCI graphics device
Required
46. Linear packed pixel frame buffer, relocatable above 16 MB
Required
47. Option ROM supports Display Data Channel DDC 2.0, Level B
Required
48. Do not use IRQ 2(9)
Required

Power Management for Graphics Adapters
49. Compliance with "Device Class Power Management Reference Specification"
Required
50. Support Wakeup Events defined in "Device Class Power Management Reference Specification"
Optional
51. Adapter complies with VBE/Core 2.0 extensions for power management
Required

Device Driver and Installation for Graphics Adapters
52. Device driver and installation meet Windows and Windows NT standards
Required
53. Applications provided with device meet Windows standards
Required
54. Driver support for virtual desktop
Recommended
55. Driver support for dynamic color bit-depth change
Required